// dao/caseDao.js
// 实现与MySQL交互
var mysql = require('mysql');
var $conf = require('../conf/db');
var $util = require('../util/util');

var $sql = {
  queryAll: 'select * from lgsafe.case',
  // insert:'INSERT INTO user(id, name, age) VALUES(0,?,?)',
  // update:'update user set name=?, age=? where id=?',
  // delete: 'delete from user where id=?',
  queryById: 'select * from lgsafe.case where id=?'
};

// 使用连接池，提升性能
var pool  = mysql.createPool($util.extend({}, $conf.mysql));

module.exports = {
    // add: function (req, res, next) {
    //     pool.getConnection(function(err, connection) {
    //         // 获取前台页面传过来的参数
    //         var param = req.query || req.params;

    //         // 建立连接，向表中插入值
    //         // 'INSERT INTO user(id, name, age) VALUES(0,?,?)',
    //         connection.query($sql.insert, [param.name, param.age], function(err, result) {
    //             if(result) {
    //                 result = {
    //                     code: 200,
    //                     msg:'增加成功'
    //                 };    
    //             }

    //             // 以json形式，把操作结果返回给前台页面
    //             jsonWrite(res, result);

    //             // 释放连接 
    //             connection.release();
    //         });
    //     });
    // },
    // delete: function (req, res, next) {
    //     // delete by Id
    //     pool.getConnection(function(err, connection) {
    //         var id = +req.query.id;
    //         connection.query($sql.delete, id, function(err, result) {
    //             if(result.affectedRows > 0) {
    //                 result = {
    //                     code: 200,
    //                     msg:'删除成功'
    //                 };
    //             } else {
    //                 result = void 0;
    //             }
    //             jsonWrite(res, result);
    //             connection.release();
    //         });
    //     });
    // },
    // update: function (req, res, next) {
    //     // update by id
    //     // 为了简单，要求同时传name和age两个参数
    //     var param = req.body;
    //     if(param.name == null || param.age == null || param.id == null) {
    //         jsonWrite(res, undefined);
    //         return;
    //     }

    //     pool.getConnection(function(err, connection) {
    //         connection.query($sql.update, [param.name, param.age, +param.id], function(err, result) {
    //             // 使用页面进行跳转提示
    //             if(result.affectedRows > 0) {
    //                 res.render('suc', {
    //                     result: result
    //                 }); // 第二个参数可以直接在jade中使用
    //             } else {
    //                 res.render('fail',  {
    //                     result: result
    //                 });
    //             }
    //             console.log(result);

    //             connection.release();
    //         });
    //     });

    // },
    queryById: function (callback) {
        var id = +req.query.id; // 为了拼凑正确的sql语句，这里要转下整数
        pool.getConnection(function(err, connection) {
            connection.query($sql.queryById, id, function(err, result) {
                callback(result);
                connection.release();
            });
        });
    },
    queryAll: function (callback) {
        console.log($sql.queryAll);
        pool.getConnection(function(err, connection) {
            console.log($sql.queryAll);
            connection.query($sql.queryAll, function(err, result) {
                callback(err, result);
                connection.release();
            });
        });
    }
    
};